
from math import sqrt

d2table = {}

bl = {}

i = 0
while True:
    min = None
    max = 0
    for j in range(i):
        y = i - j / 2.0
        y2 = y * y * 3
        x = j * 1.5
        x2 = x * x
        d2 = x2 + y2
        if min is None:
            min = d2
            max = d2
        else:
            if d2 < min:
                min = d2
            elif d2 > max:
                max = d2
        d2table[d2] = d2table.get(d2, 0) + 1
    for d2 in d2table.keys():
        if d2 <= min:
            # these are final
            n = d2table[d2]
            del d2table[d2]
            ls = bl.get(n)
            if ls is None:
                bl[n] = [d2]
                print n, d2, sqrt(d2)
            else:
                ls.append(d2)
                pass
    i += 1
    if i > 100:
        break

pass
for n in sorted(bl.keys()):
    print n, len(bl[n]), map(int, bl[n])